package com.nebula.service;

import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.http.ResponseEntity;

import com.nebula.common.ServerResponse;
import com.nebula.pojo.Files;
import com.nebula.pojo.User;
import com.nebula.vo.FileListVo;

public interface IFileService {
	List<FileListVo> pictureList(int pageNum,int pageSize,String username,HttpServletRequest request);
	
	List<FileListVo> documentList(int pageNum,int pageSize,String username,HttpServletRequest request);
	
	List<FileListVo> videoList(int pageNum,int pageSize,String username,HttpServletRequest request);
	
	List<FileListVo> seedsList(int pageNum,int pageSize,String username,HttpServletRequest request);
	
	List<FileListVo> musicList(int pageNum,int pageSize,String username,HttpServletRequest request);
	
	List<FileListVo> otherList(int pageNum,int pageSize,String username,HttpServletRequest request);
	
	ServerResponse<String> rename(Files files);
	
	void download(HttpServletRequest requset,HttpServletResponse response,long fileId);
	
	void plDownload(HttpServletRequest requset,HttpServletResponse response,String zipname,String ctm,User user) throws IOException;
	
	ServerResponse<String> compress(HttpServletRequest requset,HttpServletResponse response
			,String fileIdGroup,User uer) throws IOException;
	
	int getFileCount(long fileid);
	
	ServerResponse getShortUrlByFileId(Long fileid);
	
}
